Log.print('service module: miaPrefa');

Service.trapezi = {};

Service.trapezi.miaPrefa = function(nodereq) {
	var pektis, conn;

	if (nodereq.isvoli()) return;
	if (nodereq.sinedria.isTrapezi() && nodereq.pektis.oxiVip())
		return nodereq.end('Δεν μπορείτε να δημιουργήσετε νέο τραπέζι');

	pektis = nodereq.sinedria.pektis;
	conn = DB.connection();
	conn.transaction(function(conn) {
		Service.trapezi.miaPrefa1(conn, nodereq, pektis, conn.escape(pektis));
	});
}

Service.trapezi.miaPrefa1 = function(conn, nodereq, pektis, spektis) {
	var stisimo, query;

	stisimo = globals.toraServer();
	query = 'INSERT INTO `trapezi` (`pektis1`, `poll`) VALUES (' +
		spektis + ', FROM_UNIXTIME(' + stisimo + '))';
	conn.connection.query(query, function(err, res) {
		if (err) {
			conn.rollback();
			nodereq.end('Απέτυχε η δημιουργία τραπεζιού στο αρχείο');
			Log.sqlError(query);
			return;
		}

		Service.trapezi.miaPrefa4(conn, nodereq, res.insertId, pektis, spektis, stisimo);
	});
}

Service.trapezi.miaPrefa4 = function(conn, nodereq, trapezi, pektis, spektis) {
	var query, sinedria, trapezi;

	query = 'INSERT INTO `prosklisi` (`trapezi`, `apo`, `pros`) VALUES (' +
		trapezi + ', ' + spektis + ', ' + spektis + ')';
	conn.connection.query(query, function(err, res) {
		if (err) {
			conn.rollback();
			nodereq.end('Απέτυχε η εισαγωγή πρόσκλησης δημιουργού');
			Log.sqlError(query);
			return;
		}

		conn.commit();
		nodereq.end();

		Trapezi.trapeziNeo(trapezi, pektis, res.insertId);
		(new Kinisi({
			'?': 'NT',
			't': trapezi,
			'p': pektis,
			'l': res.insertId
		})).kinisiAdd();
	});
}
